package modele;

import java.io.Serializable;
import java.util.ArrayList;

public class Equipe implements Serializable, Comparable  {
	private String nom;
	private ArrayList<Match> listeMatch;
	
	public Equipe(String nom, ArrayList<Match> listeMatch) {
		super();
		this.nom = nom;
		if(listeMatch != null) 
			this.listeMatch = listeMatch;
		else
			this.listeMatch= new ArrayList<Match>();
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public ArrayList<Match> getListeMatch() {
		return listeMatch;
	}
	
	public void addMatch(Match match) {
		listeMatch.add(match);
	}
	public void setListeMatch(ArrayList<Match> listeMatch) {
		if(listeMatch != null)
			this.listeMatch = listeMatch;
	}
	
	public String getSerie() {
		int cpt=1;
		int scoreEquipe1;
		int scoreEquipe2;
		String resultat="";
		String resultatSuite="";
		System.out.println(listeMatch.size()-2 + " test");
		
		for(int i = listeMatch.size()-2; i>=0; i--) {
			
			
			scoreEquipe1 = listeMatch.get(i).getScoreEquipe1();
			scoreEquipe2 = listeMatch.get(i).getScoreEquipe2();
			if(scoreEquipe1 != -1 && scoreEquipe2 != -1)  {
				if(i== listeMatch.size()-2) {
					if( this.getNom().equals(listeMatch.get(i).getEquipe1().getNom())) {
						if(scoreEquipe1 > scoreEquipe2)
							resultat = "Victoire(s)";
						else if(scoreEquipe1 < scoreEquipe2)
							resultat = "Défaite(s)";
						else 
							resultat = "Nul(s)";
					}
					if( this.getNom().equals(listeMatch.get(i).getEquipe2().getNom())) {
						if(scoreEquipe2 > scoreEquipe1)
							resultat = "Victoire(s)";
						else if(scoreEquipe2 < scoreEquipe1)
							resultat = "Défaite(s)";
						else 
							resultat = "Nul(s)";
					}
				}
				else {
					if( this.getNom().equals(listeMatch.get(i).getEquipe1().getNom())) {
						if(scoreEquipe1 > scoreEquipe2)
							resultatSuite = "Victoire(s)";
						else if(scoreEquipe1 < scoreEquipe2)
							resultatSuite = "Défaite(s)";
						else 
							resultatSuite = "Nul(s)";
					}
					if( this.getNom().equals(listeMatch.get(i).getEquipe2().getNom())) {
						if(scoreEquipe2 > scoreEquipe1)
							resultatSuite = "Victoire(s)";
						else if(scoreEquipe2 < scoreEquipe1)
							resultatSuite = "Défaite(s)";
						else 
							resultatSuite = "Nul(s)";
					}
					
					if(resultat.equals(resultatSuite)) {
						cpt++;
					} else {
						return cpt + " "+resultat;
					}
				}
			System.out.println(scoreEquipe1+" "+scoreEquipe2+ " "+resultat);
			}
		}
		if(resultat.equals(""))
			return "Aucune";
		
		return cpt + " "+resultat;
	}
	
	public int compareTo(Object equipe) {
		String nomAutreEq = ((Equipe) equipe).getNom();
		return nom.compareToIgnoreCase(nomAutreEq);
	}
}
